import pandas as pd

# 提取 Excel 文件中的数字
def extract_numbers_from_xlsx(file_path):
    numbers = set()  # 用来存储去重后的数字
    # 使用 pandas 读取 Excel 文件
    df = pd.read_excel(file_path, header=None)  # header=None表示没有标题行
    for _, row in df.iterrows():
        # 假设每一行的第一个元素是数字，后面的部分是中文，提取第一个数字
        cell_value = str(row[0]).strip()  # 获取第一列的值
        if cell_value.isdigit():  # 如果是数字，则将其转为整数并添加到 set 中
            numbers.add(int(cell_value))
    return numbers

def compare_xlsx_files(file1, file2):
    # 提取两个 Excel 文件中的数字
    set1 = extract_numbers_from_xlsx(file1)
    set2 = extract_numbers_from_xlsx(file2)
    
    # 比较不同的数字
    diff_in_file1 = set1 - set2  # 在 file1 中有但在 file2 中没有的数字
    diff_in_file2 = set2 - set1  # 在 file2 中有但在 file1 中没有的数字
    
    return diff_in_file1, diff_in_file2

# 使用示例
file1 = 'file1.xlsx'  # 替换为你的第一个文件路径
file2 = 'file2.xlsx'  # 替换为你的第二个文件路径

diff_in_file1, diff_in_file2 = compare_xlsx_files(file1, file2)

print("File1 contains numbers not in File2:", diff_in_file1)
print("File2 contains numbers not in File1:", diff_in_file2)
    